﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.Windows.Threading;

namespace DisplayBoardInfoClient
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "ListenForUpdateService" in both code and config file together.
    /// <summary>
    /// Implementacja usługi nasłuchującej na aktualizacje.
    /// </summary>
    public class ListenForUpdateService : IListenForUpdateService
    {
        /// <summary>
        /// Metoda wywołująca aktualizację listy wizyt. Powoduje pobranie nowej listy z serwera i aktualizację widoku.
        /// </summary>
        /// <returns>wynik aktualizacji</returns>
        public string update()
        {
            try
            {
                if (Constants.windowdoc != null)
                {
                    Constants.windowdoc.refreshDisplay();
                    Constants.windowdoc.Dispatcher.BeginInvoke(DispatcherPriority.Background,null);
                }
                if (Constants.windowdis != null)
                {
                    Constants.windowdis.refreshDisplay();
                    Constants.windowdis.Dispatcher.BeginInvoke(DispatcherPriority.Background, null);
                }
                return "updated";
            }
            catch (Exception)
            {
                return "Error ocurred";
            }
        }
    }
}
